CommandBuffer
CommandBuffer即命令缓冲区。可以将一系列渲染指令添加到CommandBuffer中,在需要执行时通过Camera
或者Graphics
类进行执行,进而实现对渲染流程的控制。
创建CommandBuffer
cmdBuffer = new CommandBuffer(){ name = "XXX" };
DrawRenderer示例
cmdBuffer.Clear();
cmdBuffer.DrawRenderer(cubeRenderer, cmdMat);
DrawRenderer示例
cmdBuffer.Clear();
cmdBuffer.DrawMesh(mesh, Matrix4x4.identity, cmdMat);
SetRenderTarget示例
cmdBuffer.Clear();
cmdBuffer.SetRenderTarget(target);
cmdBuffer.ClearRenderTarget(true, true, clearColor);
cmdBuffer.DrawRenderer(cubeRenderer, cmdMat);
Camera使用CommandBuffer
把CommandBuffer添加到Camera类的执行序列中:
Camera.main.AddCommandBuffer(CameraEvent.AfterForwardOpaque, cmdBuffer);
参考文章
https://www.cnblogs.com/llstart-new0201/p/12630384.html